| Автор перевода: Майкл "Antares" Клишин | Предыдущая | Следующая | Оглавление |
Flash Player 6.
active_mic.setSilenceLevel(level:Number[,timeout:Number]): Void
level Число, определяющее минимальную громкость, при которой активируется Microphone.onActivity(true). Допустимы значения от 0 до 100. Значение по умолчанию — 10.
timeout Необязательный параметр. Число, определяющее, через сколько миллисекунд неактивности Flash сочтет, что захват звука остановлен и вызовет Microphone.onActivity(false). Значение по умолчанию — 2000 (2 секунды).
Ничего.
Метод; устанавливает нижний порог громкости, который будет считаться звуком, и (необязательно) длительность тишины, указывающей на то, что запись закончена.
level; Microphone.onActivity никогда не будет вызываться. Microphone.activityLevel. Определение активности состоит в определении того, говорит ли пользователь. Когда пользователь не говорит, можно снизить количество передаваемых данных, т.к. аудиопоток передавать необходимости нет. Эта информация также может быть использована для оповещения других пользователей о том, что человек молчит.
Понятие тишины связано с установленным порогом активности. Полной тишине соответствует нулевой уровень активности. Постоянный громкий шум (громкость в данном случае зависит от установок громкости микрофона) соответствует значению 100. Когда уровень громкости настроен верно, уровень активности ниже порогового, когда Вы молчите и выше, когда говорите.
Этот метод схож с Camera.setMotionLevel(); оба метода используются для определения, когда будет вызван обработчик события onActivity. Однако, методы серьезно отличаются в плане использования канала:
Camera.setMotionLevel() предназначен для определения движения и не влияет на количество передаваемых данных. Даже если камера не распознает движения, видео отсылается.Microphone.setSilenceLevel() предназначен для оптимального использования канала. Если считается, что на входе тишина, данные не отправляются. Вместо этого единождыотправляется сообщение о том, что с микрофона поступает тишина. В примере ниже пороговый уровень тишины меняется в зависимости от значения, заданного пользователем при помощи компонента NumericStepper, названного silenceLevel_nstep. Компонент ProgressBar silenceLevel_pb показывает значение активности, если он выше порогового.
var silenceLevel_pb:mx.controls.ProgressBar;
var silenceLevel_nstep:mx.controls.NumericStepper;
this.createEmptyMovieClip("sound_mc", this.getNextHighestDepth());
var active_mic:Microphone = Microphone.get();
sound_mc.attachAudio(active_mic);
silenceLevel_pb.label = "Уровень активности: %3";
silenceLevel_pb.mode = "manual";
silenceLevel_nstep.minimum = 0;
silenceLevel_nstep.maximum = 100;
silenceLevel_nstep.value = active_mic.silenceLevel;
var nstepListener:Object = new Object();
nstepListener.change = function (evt:Object) {
active_mic.setSilenceLevel(evt.target.value, active_mic.silenceTimeOut);
};
silenceLevel_nstep.addEventListener("change", nstepListener);
this.onEnterFrame = function() {
silenceLevel_pb.setProgress(active_mic.activityLevel, 100);
};
active_mic.onActivity = function (active:Boolean) {
if (active) {
silenceLevel_pb.indeterminate = false;
silenceLevel_pb.setStyle("themeColor", "haloGreen");
silenceLevel_pb.label = "Уровень активности: %3";
} else {
silenceLevel_pb.indeterminate = true;
silenceLevel_pb.setStyle("themeColor", "0xFF0000");
silenceLevel_pb.label = "Уровень активности: (неактивен)";
}
};
Для более подробной информации смотри пример в разделе Camera.setMotionLevel().
Microphone.activityLevel,Microphone.onActivity,Microphone.setGain(),Microphone.silenceLevel,Microphone.silenceTimeOut
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |